1. Field of the Invention
The present invention relates to an information processing apparatus such as personal computers and work stations, and in particular to protocols of buses of these information processing apparatuses and internal buses of LSIs used in the information processing apparatus.
2. Description of the Related Art
As for the conventional technique concerning buses used in an information processing apparatus such as personal computers and work stations, and concerning control methods of the buses, there is known a technique described in U.S. Pat. No. 5,428,753 assigned to the present assignee. As described therein, a synchronous bus has become a main stream since the design of the interface circuit is facilitated. In the synchronous bus, a plurality of modules connected to the bus conduct data transmission and reception control in synchronism with common clock timing. A typical synchronous bus configuration and its timing chart are shown in FIGS. 13 and 14, respectively. In FIG. 13, numeral 1300 denotes a clock generator for distributing a common system clock among modules, Numerals 1301, 1302 and 1303 denote modules on a bus. Numeral 1301 denotes a master module serving as a transfer source of data. Numeral 1303 denotes a slave module serving as a transfer destination of data, and numeral 1304 denotes a data bus. With reference to FIGS. 13 and 14, numerals 1400 and 1401 denote timing relations between a system clock and output data observed on an output pin of the master module 1301 serving as the transfer source of data. Numerals 1402 and 1403 denote timing relations between the system clock and input data observed on an input pin of the slave module 1303 serving as the transfer destination of data. The clocks 1400 and 1402 are distributed from the clock generator 1300 of FIG. 13 with the same phase. Data on the input pin of the slave module 1303 is delayed from that on the output pin of the master module 1301 by a propagation delay time on the data bus 1304. Since data must be transferred from the master module to the slave module in one cycle, the maximum operation frequency is typically determined on a synchronous bus by a maximum propagation delay time of the bus.
For solving this problem and further raising the frequency, a bus of a xe2x80x9csource clock synchronous systemxe2x80x9d (or a source clock synchronous bus) is conceivable. In the xe2x80x9csource clock synchronous systemxe2x80x9d, a module serving as a transfer source transmits a latch clock to be used in a module of a transfer destination together with transfer data. A bus configuration and a timing chart of a typical source clock synchronous system are shown in FIGS. 15 and 16, respectively. In FIG. 15, numeral 1500 denotes a signal line for a source clock which is transmitted from a master module serving as a transfer source to a slave module serving as a transfer destination. With reference to FIG. 16, numerals 1600 and 1601 denote timing relations between a source clock and output data observed on an output pin of the master module serving as the transfer source of data. Numerals 1602 and 1603 denote timing relations between the source clock and input data observed on an input pin of the slave module serving as the transfer destination of data. If a source clock line and a data line are mounted on similar wiring paths in the bus of the source clock synchronous system, the source clock and the data are delayed by the same phase, and consequently failures of data acquisition are reduced. In other words, the maximum operation frequency of the bus is not reflected at the time of data propagation delay. (Because data are further delayed in a remote module, but the latch clock is also delayed by the same phase.) Typically, the bus of the source clock synchronous system is such a bus that the operation frequency can be raised easily.
However, the synchronous bus is more excellent in easiness of design. A control method of signals of an acknowledge type for each transfer cycle as described in, for example, U.S. Pat. No. 5,428,753 will now be considered. FIG. 17 shows transfer timing of the synchronous bus with a protocol of the acknowledge type. In FIG. 17, numeral 1700 denotes a system clock common to modules on the bus, numeral 1701 denotes transfer data timing, and numeral 1702 denotes acknowledge signal timing. If it is determined in the synchronous bus that a signal of the acknowledge type is issued necessarily two cycles after the data transfer cycle, association of transfer data with the report of the acknowledge type is very easy. As for the protocol of the acknowledge type, there are, for example, an acknowledge for notifying the master side that the slave side has certainly received data, a retry request for requesting the master side to retransfer data later because the slave side is not ready to receive data, and an error report for notifying the master side that data received by the slave side contained an error (such as a parity error). In the bus of the source clock synchronous system allowing data transfer at a clock frequency unique to an individual module, there is a possibility that the master side and the slave do not have the same clock system. Therefore, there is a problem that it is difficult to add a protocol of the acknowledge and the retry request.
A first object of the present invention is to provide a bus of source clock synchronous system with a protocol of an acknowledge type in order to operate the bus with high reliability and a high efficiency.
Furthermore, an information processing apparatus adopting a synchronous bus which has formed the mainstream has the following problem. Components and modules having different operation clock frequencies cannot be used mixedly. For example, if the frequency of a processor is raised, a chip set such as a companion chip must also be replaced with that having the same frequency as that of the processor. This results in a problem of an increased cost.
A second object of the present invention is to make it possible to mixedly use components and modules having different operation clock frequencies.
In order to solve the first problem, in the present invention, there is provided a source clock signal dedicated to acknowledge type signals on a signal line of a bus in order to transfer the acknowledge type signals as well by using the source clock synchronous system. Furthermore, in order to make possible control even if there are mixedly modules having different operation frequencies, an acknowledge signal is not provided for each cycle, but is provided for each basic transfer block having a substantial number of cycles. Since the acknowledge type signals are also transferred in the source clock synchronous system by using a source clock signal dedicated to the acknowledge type signals in the present invention system, a failure, on the master side, of acquisition of an acknowledge type signal from the slave side is prevented. Furthermore, since an acknowledge signal is provided for each basic transfer block having a substantial number of cycles, control becomes possible even if there are mixedly modules having different operation frequencies.
In order to solve the second problem, in the present invention, a system is constructed by providing respective modules with synchronization circuits therein so as to be able to conduct data reception and data transmission with different clocks. When transferring data in the present invention system, the latch clock to be used in the transfer destination module is transmitted by itself. Therefore, data can be transferred irrespective of the clock frequency of the transfer destination. Furthermore, when receiving data, the data can be latched uneventfully with the source clock transmitted from the transfer source. In addition, since the synchronization circuit for synchronizing data to the clock of its own module is provided in its own module, data can be received irrespective of the clock frequency of the transfer source.
In other words, in the present invention, a circuit having a transmission function of transmitting data together with a first source clock synchronized to the data to a different module, a reception circuit for receiving the data outputted by the different module and a second source clock synchronized to the data, and a synchronization circuit for connecting the circuit having a transmission function to the reception circuit are formed on a single-chip integrated circuit. Here, the first source clock is a clock of the integrated circuit (such as the companion chip), whereas the second source clock is a clock of a module such as an I/O device. The circuit having the transmission function operates according to the first source clock, whereas the reception circuit operates according to the second source clock. Furthermore, it is also possible to add terminals for outputting an acknowledge type signal or terminals for inputting an acknowledge type signal to the integrated circuit. At that time, the acknowledge type signal is inputted or outputted by using the source clock synchronous system.
Furthermore, a circuit having a transmission function of transmitting data outputted by a first module together with a source clock of the first module to a second module, a reception circuit for receiving data outputted by the second module and a source clock of the second module synchronized to the data, and a synchronization circuit for connecting the circuit having a transmission function to the reception circuit are provided on the integrated circuit. As the first module, a processor or the like is conceivable. As the second module, an I/O device or the like is conceivable. The circuit having the transmission function operates according to the source clock of the first module, whereas the reception circuit operates according to the source clock of the second module. The first module is a module which operates according to the first source clock, whereas the second module is a module which operates according to the second source clock.
Furthermore, in an information processing apparatus including a different module, an integrated circuit, and a bus for connecting the integrated circuit to the different module by using a source clock synchronous system, the integrated circuit includes a reception circuit operating according to an operation frequency of the different module, and a synchronization circuit for conducting conversion from the operation clock frequency of the different module to an operation clock frequency of its own integrated circuit, and a circuit having a transmission function and including a peripheral function module operating with the operation frequency of the integrated circuit. For the bus (integrated circuit), a protocol of the acknowledge type is adopted.
Furthermore, in an information processing apparatus including a first module, a second module, an integrated circuit, and a bus for connecting the integrated circuit to the second module by using a source clock synchronous system, the integrated circuit includes a reception circuit operating with an operation frequency of the second module, a synchronization circuit for connecting the second module to the first module, and a peripheral function module operating with an operation frequency of the first module. As the first module, a memory or the like is conceivable. As the second module, an I/O device or the like is conceivable.
Furthermore, a reception circuit portion for receiving data outputted by a transfer source module and a source clock of the transfer source module synchronized to the data, a circuit portion operating according to a clock of its own integrated circuit, and a synchronization circuit for synchronizing the data and the source clock received by the reception circuit portion to the clock of its own integrated circuit are formed on a single chip.